package com.piggy.logi.sys.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

@Data
@NoArgsConstructor
@Accessors(chain = true)
public class LogiWaybillReceivableVo {

    /** 主键 */
    @ApiModelProperty("主键")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long id;

    /** 部门ID */
    @ApiModelProperty(value = "部门ID")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long deptId;

    /** 运单ID */
    @ApiModelProperty("运单ID")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long waybillId;

    /** 运单编号 */
    @ApiModelProperty(value = "运单编号")
    private String outCode;

    /** 运单状态 */
    @ApiModelProperty("运单状态")
    private Integer waybillStatus;

    /** 发货方ID */
    @ApiModelProperty("发货方ID")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long shipId;

    /** 发货方名称 */
    @ApiModelProperty("发货方名称")
    private String shipName;

    /** 收货方ID */
    @ApiModelProperty("收货方ID")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long deliveryId;

    /** 收货方名称 */
    @ApiModelProperty("收货方名称")
    private String deliveryName;

    /** 交易金额 */
    @ApiModelProperty("交易金额")
    private BigDecimal tradeAmount;

    /** 结算模式 */
    @ApiModelProperty("结算模式")
    private Integer settlementMode;

    /** 应收金额 */
    @ApiModelProperty("应收金额")
    private BigDecimal receivableAmount;

    /** 实收金额 */
    @ApiModelProperty("实收金额")
    private BigDecimal realAmount;

    /** 应收余额 */
    @ApiModelProperty("应收余额")
    private BigDecimal receivableBalance;

    /** 剩余时间 */
    @ApiModelProperty("剩余时间")
    private Integer remainDay;

    /** 状态：0.未结清 1.已结清 */
    @ApiModelProperty("状态：0.未结清 1.已结清")
    private Integer status;

    /** 收款记录数量 */
    @ApiModelProperty("收款记录数量")
    private Integer recordNum;

    /** 创建者 */
    @ApiModelProperty("创建者")
    private String createBy;

    /** 创建时间 */
    @ApiModelProperty("创建时间")
    private Date createTime;

    /** 更新者 */
    @ApiModelProperty("更新者")
    private String updateBy;

    /** 更新时间 */
    @ApiModelProperty("更新时间")
    private Date updateTime;
}
